home *** CD-ROM | disk | FTP | other *** search
-
- ** Features **
-
- Library-imploding files is preferable, not only because the result is
- smaller, but also because the library is faster, and able to patch the
- AmigaDOS executable file loader (LoadSeg), thus decompressing ANY type
- of load file as soon as it is loaded into memory, e.g. fonts, devices,
- libraries, etc.
-
- If you only library-implode program files, the library will be loaded
- when you run a library imploded program for the first time. However if
- you wish to implode non-program executables, you'll have to make sure
- the library is already resident because these won't load properly until
- LoadSeg has been wedged. If you're not yet using the 2.0 OS, there is a
- slight complication explained in the section at the end of this document.
-
- To make sure the library is resident, we've provided a small program that
- can be run at the head of your startup sequence. It's called "ExpLoad"
- and resides in the tools subdirectory. All it does is open the explode
- library. Once this is done, the library hooks itself into DOS and remains
- resident, even when a system flush occurs.
-
- Note that it suffices to run a library imploded program to make the
- library resident, but this is less visible so you might forget about it
- when you modify your startup-sequence later on.
-
- Once you've made sure the library is resident, you may merrily go around
- your system and library-implode libraries, devices, fonts and even keymaps!
-
- By default the Imploder appends a foolproof piece of startup code to
- library imploded files. This checks whether the library is present.
- If not it will print an error. If started from the WorkBench a tiny
- window will be opened to display the error message.
-
- However this error checking takes up a bit of space, and is redundant
- when you make sure the library is resident. For this reason you can
- specify the SHORTROOT tooltype/switch. When set, the Imploder will
- append only short startup code to library imploded files. This saves
- about 250 bytes for every executable.
-
- If library imploded programs with a short root do not find the explode
- library they will keep on trying to open it until they succeed. These
- programs will therefore hang until the LIBS: directory contains the
- library.
-
- Still, using the SHORTROOT switch has its advantages. The reason it is not
- enabled by default is to make sure that people have read this document
- first.
-
-
- ** Pre-2.0 problems **
-
- If you are NOT using 2.0 or some newer OS, there are a few additional
- problems related to BCPL braindeadness, so if you're still running 1.3 or
- less, READ THIS!
-
- Under a pre 2.0 OS, if you run a library imploded program generated with
- the SHORTROOT option from the WorkBench, while the library hasn't been made
- resident yet, the system will guru. This is a problem caused by the OS.
- The default library startup code checks for this condition, and will exit
- cleanly after reporting an error.
-
- So under 1.3 or less it is advisable to make the explode.library resident
- before the WorkBench is active, e.g. early in your startup sequence, even
- when you're using library imploded non-program executables;
- The first invocation of a library imploded program might happen from the
- WorkBench.
-
- In addition to this it is best not to library implode handlers under pre
- 2.0. See the Techno document for an in depth explanation of these issues.
-
-
- ** Conclusion **
-
- Library implosion limits the possibility of passing on one's executables
- to other people/systems who/that do not have the explode.library installed.
- I think this doesn't really matter because I strongly believe people
- should be left the option of deciding in what way, if at all, they are
- going to compress/install executables. (See the "Philosophy" document
- for a more extensive discussion of this issue).
-
- Evidently, using library imploded files is the most transparent to the
- system. We personally recommend using mostly library implosion, and only
- in special cases normal implosion, or overlay implosion for the odd
- overlayed file one might encounter.
-